package com.ruoyi.system.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.core.domain.BaseEntity;
import com.ruoyi.common.valid.ValidInsertGroup;
import com.ruoyi.common.valid.ValidUpdateGroup;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * 景区景点表
 * @TableName bs_jingqu_jingdian
 */
@TableName(value ="bs_jingqu_jingdian")
@Data
@ApiModel(value = "景区景点实体类", description = "景区景点")
public class BsJingquJingdian extends BaseEntity implements Serializable {
    /**
     * 景点ID
     */
    @TableId(type = IdType.AUTO)
    @ApiModelProperty(value = "景点ID")
    @NotNull(message = "主键id不能为空", groups = {ValidUpdateGroup.class})
    private Long jingdianId;

    /**
     * 关联的景区ID
     */
    @ApiModelProperty(value = "关联的景区ID")
    @NotNull(message = "景区id不能为空", groups = {ValidInsertGroup.class, ValidUpdateGroup.class})
    private Long jingquId;

    /**
     * 景点名称
     */
    @ApiModelProperty(value = "景点名称")
    @NotBlank(message = "景点名称不能为空", groups = {ValidInsertGroup.class, ValidUpdateGroup.class})
    private String jingdianName;

    /**
     * 景点附件
     */
    @ApiModelProperty(value = "景点附件")
    @NotBlank(message = "附件不能为空", groups = {ValidInsertGroup.class, ValidUpdateGroup.class})
    private String jingdianFile;

    /**
     * 纬度
     */
    @ApiModelProperty(value = "纬度 暂不使用")
    private String lat;

    /**
     * 经度
     */
    @ApiModelProperty(value = "经度 暂不使用")
    private String lon;

    @ApiModelProperty(value = "附件时长")
    private Long duration;

    @ApiModelProperty(value = "文件类型 1：视频 2：音频")
    private String fileType;

    @ApiModelProperty(value = "封面 仅视频存在封面")
    private String coverImg;

    @TableField(exist = false)
    @ApiModelProperty(value = "附件时长详情")
    private String durationInfo;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

}